// PersistentFacade.h: interface for the PersistentFacade class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_PERSISTENTFACADE_H__F355A19A_0F47_477A_B760_4A635B57DC42__INCLUDED_)
#define AFX_PERSISTENTFACADE_H__F355A19A_0F47_477A_B760_4A635B57DC42__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "JointRegularSet.h"
#include "PersistentSystemFacade.h"
#include "PartCrudeDataSet.h"
#include "CurPartSet.h"
#include "SpringSet.h"
#include "StandardGenerator.h"
#include "ConstSpringDisSerialManager.h"
#include "ConstSpringSet.h"
#include "ConstSpringJointPortSet.h"

using namespace JointSystem;

class __declspec(dllexport) PersistentFacade  
{
public:
	PersistentFacade() {}
	virtual ~PersistentFacade() {}

public:
	virtual JointRegularSet* GetJointRegularSet() = 0;
	virtual PartParameterFormerSet* GetPartParameterFormerSet() = 0;
	virtual PartCrudeDataSet* GetPartCrudeDataSet() = 0;
	virtual CurPartSet* GetCurPartSet() = 0;
	virtual SpringSet* GetSpringSet() = 0;
	virtual StandardGenerator* GetStandardGenerator() = 0;
	virtual ConstSpringDisSerialManager* GetConstSpringDisSerialManager() = 0;
	virtual ConstSpringSet* GetConstSpringSet() = 0;
	virtual ConstSpringJointPortSet* GetConstSpringJointPortSet() = 0;

public:
	virtual void CloseConnection() = 0;
};

__declspec(dllexport) PersistentFacade& GetPersistentFacade();
#endif // !defined(AFX_PERSISTENTFACADE_H__F355A19A_0F47_477A_B760_4A635B57DC42__INCLUDED_)
